﻿using Loki.Engine;
using Luna.Model;
using Luna.Model.Budget;
using Luna.Model.Configuration;
using Luna.Model.CRM;

namespace Luna.Services.Test
{
    public class TestApplicationModel : ObjectModel, IApplicationModel
    {
        protected override void InternalLoad()
        {
            base.InternalLoad();

            Luna.Model.Configuration.ServiceInstaller.Configuration.Install(InternalContext);
            Luna.Model.CRM.ServiceInstaller.CRM.Install(InternalContext);
            Luna.Model.Budget.ServiceInstaller.Budget.Install(InternalContext);
        }

        public IConfigurationService Configuration
        {
            get { return InternalContext.Resolve<IConfigurationService>(); }
        }

        public ICRMService CRM
        {
            get { return InternalContext.Resolve<ICRMService>(); }
        }

        public IBudgetService Budget
        {
            get { return InternalContext.Resolve<IBudgetService>(); }
        }
    }
}